ci: add cargo mutants
weekly job
#276
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
I think it's also a good idea to adopt mutation testing to
bdk_wallet
and other crates in our ecosystem. It can be achieved through the usage ofcargo mutants
. It's already adopted by Bitcoin Core and Rust Bitcoin, and you can find more about the rational here.This PR adds a new CI job following the rust-bitcoin's weekly job, and opens an issue reporting the mutants found, if any.
It can be run on a PR basis, but as it can be slow to run, I don't think we should adopt that now, but fine-tuning to only mutate within each PR changes can be done in the future.
Notes to the reviewers
As it's the first time running
cargo mutants
on the crate, it's quite slow and time-consuming to run. Since no customre
exclusion is being used yet, you'll notice this if you try to run it locally.Changelog notice
Checklists
All Submissions:
just p
before pushingNew Features: